There is a case where when a storage medium (primary site) that is the main becomes unusable in a file system handling user data due to, for example, occurrence of disaster, it is required to promptly switch it to another system to resume the operation without losing the user data written in the primary site up to the time of the occurrence of disaster. In order to duplicate data of a primary file unit to prevent the loss of the data, it is necessary to prepare a secondary file unit, and update data in the two file units in any technique when the data is updated.
The present invention relates to a remote transfer method for transferring update data (write data) from the primary file unit to the secondary file unit, when a host apparatus performs data-update (writing) in the primary file unit, so as to perform data-update in the secondary file unit which is same as the data-update performed in the primary file unit.
There are generally two techniques for duplicating data.
One is that a host apparatus 1 simultaneously performs writing in two file units 2A and 2B to realize duplicating of data, as shown in FIG. 8. In such technique, it is possible to ensure equivalence of the data in the two file units 2A and 2B.
The other is a technique in which file units (FCUs) 2C and 2D are communicably connected, and when the host apparatus 1 updates (writes) data in one file unit (primary file unit) 2C, the update data (write data) is transferred from the primary file unit 2C to the secondary file unit 2D, thereby to realize duplicating of the data, as shown in FIG. 9. In this technique, it is possible to ensure equivalence of the data in the two file units 2C and 2D, as well.
Incidentally, data transfer from the primary file unit 2C to the secondary file unit 2D as above is called remote transfer. The file unit is sometimes called a file control unit (FCU: File Control Unit).
In the former technique, the host apparatus 1 simultaneously writes in the two file units 2A and 2B, so that the file units 2A and 2B can realize duplicating of the data without performing any special process. On the other hand, in the latter manner, the primary file unit 2C transfers data to the secondary file unit 2D, whereby the host apparatus 1 can realize duplicating of the data only by performing usual data-writing, being conscious of only one storage apparatus (primary file unit 2C), without performing any special process.
In the host apparatus 1, processes for its primary operations are performed, which is naturally a large load thereon. When the host apparatus 1 performs writing data into the secondary file unit 2D in the former technique, a further load is applied to the host apparatus 1, which is undesirable. Namely, in the former technique, since the host apparatus 1 simultaneously performs writing data into the two file units 2A and 2B, the host apparatus 1 is required to operate while being always conscious of duplicating of the data, and to perform a special interface process or the like.
For this reason, the latter technique is employed in these years. Wherein, it is general that the host apparatus 1 performs updating data in only the primary file unit 2C, assigning the primary file unit 2C to transfer the data to the secondary file unit 2D to duplicate the data. In this case, the host apparatus 1 is not required to perform any special process for duplicating the data, but required to perform only usual data-update in one file unit 2C. The primary file unit 2C therefore functions as an upper apparatus of the secondary file unit 2D to transfer/update the data to/in the secondary file unit 2D, whereby the data is duplicated.
Detailed structures of the system, and the files units 2C and 2D used in the system applied the latter technique will be described next with reference to FIG. 10.
As shown in FIG. 10, the primary file unit 1C and the secondary file unit 2D have the same structure, each of which comprises a CA (Channel Adapter) 11, an RM (Resource Manager) 12, a TS (Table Storage) 13, an RA (Remote Adapter) 14, a CFR (Cache Function Engine) 15, a cache memory 16, a DA (Device Adapter) 17, a command bus 18, a data bus 19, and a physical device 20.
The CA 11 is a module in charge of an interface control with the host apparatus 1 via an interface 21. The RM 12 is a module in charge of resource management with respect to a basic operation. The TS 13 is a memory used as a table for the resource management.
The RA 14 is a module in charge of transmission/reception of data to/from the file unit 2C or 2D via an interface 22. The CFE 15 is a module in charge of management of the cache memory 16. The DA 17 is a module in charge of an interface control with the physical device 20 that is a magnetic disk apparatus 20a. Incidentally, the cache memory 16 is provided with an inter-module communication area 16a. The communication area 16a is served to temporarily store data that is to be transmitted/received among the modules 11, 14 and 17 of each of the file units 2C and 2D.
The command bus 18 is served to exchange commands among the CA 11, the RM 12, the RA 14, the CFE 15 and the DA 17. The data bus 19 is served to exchange data among the CA 11, the RA 14, the CFE 15, the cache memory 16 and the DA 17.
FIG. 10 depicts a case where the host apparatus 1 has two channels 1a, and each of the file units 2C and 2D has two CAs 11, two RAs 14, four DAs 17, and four magnetic disk apparatuses 20a as the physical device 20.
The primary file unit 2C is connected to the host apparatus 1 via the interface 21, while the secondary file unit 2D is connected to the primary file unit 2C via the interface 22. The interface 21 connects the channel 1a of the host apparatus 1 to the CA 11 of the primary file unit 2C. The interface 22 connects the RA 14 of the primary file unit 2C to the RA 14 of the secondary file unit 2D.
As these interfaces 21 and 11, same device, that is, ESCON interface, for example, are used. The primary unit 2C has a function enabling an access from the RA 14 thereof t the RA 14 of the secondary file unit 2D in the similar sequence to that to the channel. In other words, the RA 14 of the primary file unit 2C is such configured as to be able to issue a command to the RA 14 of the secondary file unit 2D in the similar sequence to that performed between the channel of the host apparatus 1 and the CA 11 of the primary file unit 2C.
Incidentally, hardware of the CA 11 and hardware of the RA 14 are basically the same. The RA 14 of the primary file unit 2C operates equivalent to the channel, as described above. Therefore, it is unnecessary to provide, as the RA 14 of the secondary file unit 2D, an adapter having a special function, because an adapter having a function as the CA 11 connected to the ordinary channel 1a is sufficient.
When the host apparatus 1 writes data into the primary file unit 2C, the data is transferred in units of record to the primary file unit 2C, and temporarily written into the cache memory 16. When data for one track of the magnetic disk apparatus 20a, which is an object to be written, is written into the cache memory 16 of the primary file unit 2C, remote transfer to the secondary file unit 2D is carried out, then data-writing to the magnetic disk apparatus 20a of the primary file unit 2C is carried out.
FIG. 11 is a diagram showing an example of structure of data for one track to be temporarily written in the cache memory 16 of the primary file unit 2C in order to transfer the data to the secondary file unit 2D and write the same into the physical device 20. As shown in FIG. 11, the data for one track sent to the secondary file unit 2D is made up of a control information field on the head end and a plurality (N in FIG. 11) of record fields.
In the primary file unit 2C having received one write command from the host apparatus 1, one record field is written into the cache memory 16, and at the same time control information in the control information field on the head end is constantly updated. When a plurality of commands configuring one CCW (Channel Command Word) are continuously sent from the host apparatus 1 to the primary file unit 2C, the control information is updated each time the command is accepted. Whereby, control information necessary for transferring/writing such as the number of records involved in transfer data for one track is created, and written into the control information field. Incidentally, plural commands are combined to form one CCW, which is a unit to have a series of device accesses.
Remote transfer from the primary file unit 2C to the secondary file unit 2D or data-writing from the cache memory 16 to the physical device 20 is heretofore always performed in units of track. As stated above, control information about more than one record forming the same track is stored in one piece of control information. When the host apparatus 1 completes all write processes on the relevant track, control information on that track is established. Accordingly, data for one track is written into the cache memory 16 by a plurality of write commands from the host apparatus 1 to complete that track. The data of that track is then sent from the primary file unit 2C to the secondary file unit 2D, and written into the physical device 20 of the primary file unit 2C.
Next, a procedure of the remote transfer performed by the system configured as above (refer to FIG. 10) will be described with reference to FIG. 12. FIG. 12 is a sequence diagram for illustrating a series of flows of the remote transfer from the primary file unit 2C to the secondary file unit 2D accompanying data-writing from the host apparatus 1 to the primary file unit 2C. In the following description and FIG. 12, the RA in the primary file unit 2C is denoted as RA(P) while the RA in the secondary file unit 2D is denoted as RA(S) In FIG. 12, the channel 1a is denoted as CH.
In the example shown in FIG. 12, n write commands CCW1 to CCWn are transmitted from the channel 1a of the host apparatus 1 in order to write data for one track into the primary file unit 2C. Incidentally, one CCW is made up of the n write commands CCW1 to CCWn.
The first write command CCW1 is transmitted from the channel 1a to the CA 11 (refer to an arrow A11). When accepting CCW1, the CA 11 notifies the channel 1a of acceptance of the write command CCW1 (refer to an arrow A12). The host apparatus 1 having received the notification transmits write data to the CA 11 (refer to an arrow A13). The CA 11 writes the data received from the channel 1a in the cache memory 16 (refer to an arrow A14), then notifies the channel 1a of normal termination (refer to an arrow A15).
In the similar manner, when the CA 11 completes writing of data in the cache memory 16 by a write command CCWn (refer to arrows A15 to A24), the CA 11 writes information relating to the command now being processed into the communication area 16a of the cache memory 16 in order to notify the RA(P) 14 of the information (refer to an arrow A25).
After that, the CA 11 issues a request for assignment of the RA(P) 14 to be used for the remote transfer to the RM 12 (refer to arrows A26 and A27) The RA(P) 14 assigned by the RM 12 refers to information in the communication area 16a of the cache memory 16 (refer to an arrow A28), issues a command CCWx for inter-RA only different from the above commands CCW1 to CCWn to the RA(S) 14 (refer to an arrow A29), thereby to establish communication between the RA(P) 14 and the RA(S) 14.
When the communication is established, the RA(S) 14 notifies the RA(P) 14 of acceptance of the command CCWx (refer to an arrow A30). The RA(P) 14 having received the notification reads out predetermined data from the cache memory 16 by reading out the control information updated as above from the cache memory 16 (refer to an arrow A31), and transfers the predetermined data to the RA(S) 14 (refer to an arrow A32).
The RA(S) 14 writes data received from the RA(P) 14 into the cache memory 16, and notifies the RA(P) 14 of normal termination (refer to an arrow A33). The normal termination is notified the CA 11 from the RA(P) 14 via the communication area 16a (refer to an arrow A34). The CA 11 notifies the channel 1a that the processes on the series of commands CCW1 to CCWn have been normally terminated (refer to an arrow A35).
After these processes are terminated, the DA 17 writes the data held into the cache memory 16 in the physical device 20 in the primary file unit 2C, although not shown in FIG. 12. In the secondary file unit 2D, the DA 17 writes the data held in the cache memory 16 into the physical device 20, as well. Whereby, duplicating of the data in the primary file unit 2C and the secondary file unit 2D is accomplished.
Next description will be made of a recovery process performed by the host apparatus 1 when any fault occurs in the secondary file unit 2D after data transfer to the RA(S) 14 is initiated in the similar manner to FIG. 12, as shown by arrows A11 to A32 in FIG. 13. FIG. 13 is a sequence diagram for illustrating a series of flows of the recovery process performed by the host apparatus 1 when a fault occurs during the remote transfer from the primary file unit 2c to the secondary file unit 2D.
Incidentally, arrows in FIG. 13 denoted by the same reference characters in FIG. 12 show the same operations, description of which is thus omitted. In FIG. 13, arrows denoted by reference characters with a dash (xe2x80x2) show operations accompanying the recovery process by the host apparatus 1. Namely, operations denoted by arrows A11xe2x80x2 to A35xe2x80x2 in FIG. 13 are a recovery operation for the operations denoted by the arrows A11 to A35 in FIG. 12.
As shown in FIG. 13, when any fault occurs in the secondary file unit 2D after data transfer to the PA(S) 14 is initiated, the RA(S) 14 notifies the RA(P) 14 of abnormal termination (refer to an arrow A36). This abnormal termination is notified the CA 11 from the RA(P) 14 via the communication area 16a (refer to an arrow A37). The CA 11 notifies the channel 1a of the abnormal termination of the processes by the series of commands CCW1 to CCWn (refer to an arrow A38).
The host apparatus 1 notified of the abnormal termination as above initiates the recovery process.
Generally, the host apparatus 1 performs the recovery process with respect to one CCW made up of the plural commands CCW1 to CCWn. For this, when a normal termination notification at the last command CCWn of that CCW is not sent back to the host apparatus 1, all the commands CCW1 to CCWn are not regarded as normal termination even if normal termination of each command is notified.
Accordingly, when the primary file unit 2C notifies the host apparatus 1 of occurrence of an error (that is, abnormal termination) due to any fault while the CCW is processed, the host apparatus 1 carries out the recovery process to reissue the CCW from the leading command CCW1 during which the error has occurred. Namely, the host apparatus 1 reissues the commands CCW1 to CCWn, so that processes similar to those shown in FIG. 12 are again performed between the host apparatus 1 and the primary file unit 2C, and between the primary file unit 2C and the secondary file unit 2D, as shown by the arrows A11xe2x80x2 to A35xe2x80x2 in FIG. 13.
The recovery process by the host apparatus 1 described above with reference to FIG. 13 will be further described with reference to FIG. 14. FIG. 14 is a sequence diagram simply showing concrete examples of a procedure of the known remote transfer and a procedure of the recovery process by the host apparatus 1 performed when a fault occurs. In FIG. 14, no reference character is given to arrows, and the procedure described above with reference to FIG. 13 is roughly depicted. Namely, only arrows indicating transfer of commands, notification of normal/abnormal termination and remote transfer are shown.
FIG. 14 shows an example in which the host apparatus 1 issues a CCW made up of five write commands A to E. The host apparatus 1 issues four write commands A to D to the primary file unit 2C. Each time data is written into the cache memory 16 of the primary file unit 2C by each of the write commands A to D, normal termination is notified the host apparatus 1 from the primary file unit 2C.
When data is written into the cache memory 16 of the primary file unit 2C by the fifth write command E and data for one track is thus completed, the remote transfer from the primary file unit 2C to the secondary file unit 2D is initiated. Normal terminal is not notified immediately after the data is written by the write command E, but information on normal/abnormal termination notified the primary unit 2C from the secondary file unit 2D after the remote transfer is notified the host apparatus 1 as information on normal/abnormal termination with respect to the write command E from the primary file unit 2C.
Therefore, when any fault occurs in the secondary file unit 2D after the remote transfer and abnormal termination is notified the primary file unit 2C from the secondary file unit 2D, the primary file unit 2C notifies the host apparatus 1 of the abnormal termination.
At this time, the host apparatus 1 can see only the primary file unit 2C, and cannot at all see the secondary file unit 2D. For this, the host apparatus 1 recognizes that the notification of abnormal termination received from the primary file unit 2C is caused by a fault in the primary file unit 2C although it caused by a fault in the secondary file unit 2D.
As stated above, the host apparatus 1 performs the recovery process for one CCW made up to of the five commands A to E. Therefore, when notified of abnormal termination of the last command E of the CCW, the host apparatus 1 considers that all the commands A to E of that CCW have been abnormally terminated even though the host apparatus 1 has notified of normal termination of the commands A to D, and reissues the CCA abnormally terminated from the leading command A.
FIG. 15 shows a concrete example of procedure (sequence diagram) of the known recovery process in the case where, since a fault or the like occurs in the primary file unit when the command E is issued from the host apparatus 1 to the primary file unit 2C, the primary file unit 2C notifies the host apparatus 1 of abnormal termination. Incidentally, FIG. 15 shows an example in which the host apparatus 1 issues a CCW made up of five write commands A to E at the level equivalent to FIG. 14, similarly to the example shown in FIG. 14.
As shown in FIG. 15, the host apparatus 1 performs the same recovery process regardless of whether a fault occurs in the primary file unit 2C or in the secondary file unit 2D. As a result, even if a fault occurs in the secondary file unit 2D as shown in FIG. 14, the host apparatus 1 recognizes that the fault occurs in the primary file unit 2C and performs the recovery process as shown in FIG. 15.
In the examples of the process shown in FIGS. 14 and 15, the data-writing by the commands A to D are normally terminated. It is therefore considered that issuing only the command E and writing the data by the command E only will suffice for the recovery process. However, it is necessary to create track data while successively updating the control information by the five commands A to E forming one CCW as described above with reference to FIG. 11, thus it is impossible to perform normal data-writing (creation of the track data) if only the command E is separately issued. Particularly, since the command A includes information on location in which the data is to be written, reissue of the command A is essential.
Consequently, it is impossible to perform only data-writing by the last command E in the known recovery process. It is thus required to reissue the commands normally terminated to rewrite the same data as shown in FIG. 14 or 15, therefore time is spent on the recovery process. Even if a fault occurs while the command C, for example, is processed and the command C is thus abnormally terminated in the procedure shown in FIG. 15 or 16, the recovery process is performed by reissuing the CCW from the leading command A.
It is alternatively considered that when the host apparatus 1 performs the recovery process for the primary file unit 2C as shown in FIG. 15, the host apparatus 1 modifies the commands to partly simplify the procedure of the recovery process. FIG. 16 is a sequence diagram showing an example in which the procedure of the recovery process is simplified. FIG. 16 shows an example in which the host apparatus 1 issues a CCW made up of five write commands A to E at the level equivalent to FIG. 14, similarly to the example shown in FIG. 14. Here is examined a case in which a fault or the like occurs in the primary file unit 2C when the host apparatus 1 issues the last command E to the primary file unit 2C, as shown in FIG. 16.
In this case, when the host apparatus 1 performs the recovery process, since the host apparatus 1 can recognize that the commands A to D have been normally terminated on the basis of notification of normal termination, the host apparatus 1 modifies the commands A to D to create a command Axe2x80x2 that can involve information on location in which data is to be written and can create predetermined control information on the head end of the track. After the host apparatus 1 issues the command Axe2x80x2 to the primary file unit 2C, the host apparatus 1 issues the command E to the primary file unit 2C. Namely, considering that the write commands A to D have been normally written into the primary file unit 2C, the host apparatus 1 creates a new CCW, which can resume the write process from the command E having been abnormally terminated due to occurrence of an error, with the two commands Axe2x80x2 and E, and issues the new CCW.
Whereby, the recovery process can be carried out by issuing the two commands Axe2x80x2 and E without reissuing all the five commands A to E, so that the track data is written by the commands A to E in predetermined locations in the physical device 20 in the secondary file unit 2D and the primary file unit 2C.
However, after the remote transfer is performed, if the recovery process coping with the occurrence of any fault in the secondary file unit 2D in the procedure shown in FIG. 16, the following problem will arise. FIG. 17 is a sequence diagram showing a concrete example in the case where the host apparatus 1 performs the recovery process in the procedure shown in FIG. 16 when a fault occurs in the known remote transfer. FIG. 17 shows an example in which the host apparatus 1 issues a CCW made up of five write commands A to E similarly to the example shown in FIG. 14 at the level equivalent to FIG. 14.
As shown in FIG. 17, when the host apparatus 1 performs the recovery process in the procedure shown in FIG. 16 because of a fault in the secondary file unit 2D after remote transfer, data directed by the commands A to D normally terminated is not remote-transferred to the secondary file unit 2D, thus track data remote-transferred to the secondary file unit 2D in the recovery process is data directed by a CCW made up of only two commands Axe2x80x2 and E.
Accordingly, only data by the commands Axe2x80x2 and E exists in the physical device 20 of the secondary file unit 2D, data by the commands A to D thus does not exists, while data by the commands A to E is stored in the physical device 20 of the primary file unit 2C. It is therefore impossible to duplicate the data in the error recovery, and to assure equivalence of the data in the primary file unit 2C and the secondary file unit 2D.
In the light of the above problem, an object of the present invention is to provide a remote transfer method between file units, which can realize duplicating of data even if the host apparatus modifies a part of commands in the recovery process to simplify the recovery process, thereby certainly assuring equivalence of the data in two file units.
In order to accomplish the above object, a remote transfer method according to this invention has features as follows: In a file system comprising a primary file unit connected to a host apparatus to be data-updated by the host apparatus, and a secondary file unit connected to the primary file unit to be data-updated by the primary file unit, when the host apparatus writes data into the primary file unit by issuing a writing operation directive command for transferring writing start location information to the primary file unit as data, and successively issuing a series of write commands, which configures one write access unit together with the write operation directive command, to the primary file unit one by one, a remote transfer method from the primary file unit to the secondary file unit for writing into the secondary file unit data which is same as data written into the primary file unit by the host apparatus, the remote transfer method comprising the steps of issuing a command similar to the writing operation directive command from the primary file unit to the secondary file unit, when the primary file unit receives the writing operation directive command from the host apparatus, to direct to start the writing, then transferring the writing start location information as data, issuing a command similar to the write command from the primary file unit to the secondary file unit, each time the primary file unit receives one of the series of write commands from the host apparatus after the writing operation directive command, to direct the writing, then transferring data to be written by the write command, and making the primary file unit notify the host apparatus that the writing by the write command has been normally terminated, when the primary file unit confirms that data written in the primary file unit by the write command has been normally written in the secondary file unit.
When a factor requiring to temporarily disconnect the primary file unit from the host apparatus appears in the primary file unit while the series of write commands are processed, a disconnect request is issued from the primary file unit to the host apparatus to temporarily disconnect the primary file unit from the host apparatus, a disconnect request is issued from the primary file unit to the secondary file unit to temporarily disconnect the primary file unit from the secondary file unit, the factor in the primary file unit is settled, and in response to a reconnect request from the primary file unit, the primary file unit is then reconnected to the host apparatus and the primary file unit is reconnected to the secondary file unit.
When a factor requiring to temporarily disconnect the secondary file unit from the primary file unit appears in the secondary file unit while the series of write commands are processed, a disconnect request is issued from the secondary file unit to the primary file unit to temporarily disconnect the secondary file unit from the primary file unit, a disconnect request is issued from the primary file unit having received the disconnect request to the host apparatus to temporarily disconnect the primary file unit from the host apparatus, the factor is settled in the secondary file unit, and in response to a reconnect request from the secondary file unit, the secondary file unit is then reconnected to the primary file unit, and the primary file unit is reconnected to the host apparatus.
When a factor requiring to temporarily disconnect the primary file unit from the host apparatus appears in the primary file unit, and at the same time, a factor requiring to temporarily disconnect the secondary file unit from the primary file unit appears in the secondary file unit, while the series of write commands are processed, a disconnect request from the primary file unit to the host apparatus is issued prior to a disconnect request from the secondary file unit to the primary file unit to temporarily disconnect the primary file unit from the host apparatus, a disconnect request is issued from the primary file unit to the secondary file unit to temporarily disconnect the primary file unit from the secondary file unit, the factor in the primary file unit is settled, and then, in response to a reconnect request from the primary file unit, the primary file unit is reconnected to the host apparatus and the primary file unit is reconnected to and the secondary file unit, a disconnect request is issued from the secondary file unit to the primary file unit to temporarily disconnect the secondary file unit from the primary file unit, a disconnect request is issued from the primary file unit having received the disconnect request to the host apparatus to temporarily disconnect the primary file unit from the host apparatus, the factor in the secondary file unit is settled, and then, in response to a reconnect request from the secondary file unit, the secondary file unit is reconnected to the primary file unit and the primary file unit is reconnected to the host apparatus.
Similarly, when a factor requiring to temporarily disconnect the primary file unit from the host apparatus appears in the primary file unit, and at the same time, a factor requiring to temporarily disconnect the secondary file unit from the primary file unit appears in the secondary file unit, while the series of write commands are processed, a disconnect request from the primary file unit to the host apparatus may be issued prior to a disconnect request from the secondary file unit to the primary file unit to temporarily disconnect the primary file unit from the host apparatus, a disconnect request may be issued from the primary file unit to the secondary file unit to temporarily disconnect the primary file unit from the secondary file unit, the factor in the primary file unit and the factor in the secondary file unit may be simultaneously settled, and in response to a reconnect request from the primary file unit, the primary file unit may be then reconnected to the host apparatus and the primary file unit may be reconnected to the secondary file unit.
Alternatively, when, each time one of the series of write commands is accepted, a command similar to the write command is issued from the primary file unit to the secondary file unit to direct the writing, and data to be written by the write command is transferred, a command similar to the write command may be issued from the primary file unit to the secondary file unit to simultaneously carry out a command accept process between the primary file unit and the secondary file unit and a data receive process of receiving data to be written by the write command from said host apparatus in the primary file unit, and the data may be transferred from the primary file unit to the secondary file unit as soon as receiving the data is completed.
Still alternatively, a process of transferring, from the host apparatus to the primary file unit, data of the first write command following the writing operation directive command, and an accept process that should be completed between the primary file unit and the secondary file unit until data transfer of the first write command from the primary file unit to the secondary file unit is initiated, may be carried out in parallel.
As stated above, the remote transfer method between file units can yield the following effects and advantages:
[1] When one write access unit (for example, CCW) made up of a writing operation directive command and a subsequent series of write commands is executed, remote transfer from the primary file unit to the secondary file unit is carried out for each command, whereby certainly dublicating write data for each command. Even when any fault occurs while the series of write commands are processed, data written by write commands issued before the fault occurs is certainly duplicated. When the host apparatus performs the recovery process in order to cope with the fault, even if the host apparatus modifies a part of the commands to simplify a recovery process and issues write commands after the fault occurs to carry out the recovery process, a trouble as before does not arise, and equivalence of data in the two file units is certainly assured.
[2] When a disconnect factor appears in the primary file unit, not only the primary file unit and the host apparatus, but also the primary file unit and the secondary file unit are temporarily disconnected until the factor is settled. Therefore, the secondary file unit and the host apparatus can carry out another process without waiting for settlement of the factor, which leads to efficient operations.
[3] When a disconnect factor appears in the secondary file unit, not only the secondary file unit and the primary file unit, but also the primary file unit and the host apparatus are temporarily disconnected until the factor is settled. Therefore, the primary file unit and the host apparatus can carry out another process without waiting for settlement of the factor, which leads to efficient operations.
[4] When disconnect factors simultaneously appear in the primary file unit and the secondary file unit, not only the primary file unit and the host apparatus, but also the primary file unit and the secondary file unit are temporarily disconnected, a disconnect factor in the primary file unit is preferentially settled, and then the disconnect factor in the secondary file unit is settled. Whereby, even when disconnect factors simultaneously appear in the primary file unit and the secondary file unit, it is possible to cope with the appearance of the factor.
[5] When disconnect factors simultaneously appear in the primary file unit and the secondary file unit, the disconnect factor in the primary file unit and the disconnect factor in the secondary file unit are simultaneously settled. It is thereby possible to diminish probability of occurrence of disconnect request from the secondary file unit side after the primary file unit is reconnected to the secondary file unit, and shorten a response time up to the time that normal termination (termination status) is notified the host apparatus.
[6] When remote transfer is carried out in response to a write command from the host apparatus, a data transfer process from the host apparatus to the primary file unit and a command accept process between the primary file unit and the secondary file unit are carried out in parallel. As soon as data reception is completed, the data is remote-transferred, increasing the speed of the remote transfer process.
[7] A process of transferring data of the first write command from the host apparatus to the primary file unit, and a process of acceptance to be completed between the primary file unit and the secondary file unit until the data transfer by the first write command is initiated are carried out in parallel, further increasing the speed of the remote transfer process.